﻿%本章为不常用规范的说明
\setcounter{chapter}{0}

\chapter{混凝土结构后锚固技术规程}
\section{群锚受拉内力计算}
\subsection{轴心拉力与弯矩共同作用下}
2016年3月26日。最近要做一个项目，需要使用锚栓。下面分析一下这个规范
上的公式。本节第5.2.2条给出了下面的条件
\[ \frac{N}{n} - \frac{My_1}{\sum y_i^2} \geq 0 \]
这个条件好像意味着什么。下面说明一下。材料力学中的应力应变公式为
\[ \sigma  = E\varepsilon \]
如果锚栓的面积为~$A$，受到的拉力为~$T$，那么就有
\[ \frac{T}{A} = E\varepsilon \]
\[ T = EA\varepsilon \]
在弯矩作用下，每个锚栓的应变不同。每个锚栓的拉力为
\[ T_i = EA\varepsilon_i \]
与矩形截面受弯一样，认为所有锚栓的应变位于同一个平面中，也就是平截面假
定。实际上这并不是假定，而是基本符合事实的。锚栓1是距离形心轴最远的锚
栓，距离是~$y_1$。有一个最大的应变~$\varepsilon_{max}$，斜率是
\[ k = \frac{\varepsilon_{max}}{y_1} \]
每个锚栓的应变是
\[ \varepsilon_i = ky_i = \frac{\varepsilon_{max}y_i}{y_1} \]
所以每个锚栓承受的拉力是
\[ T_i = \frac{EA\varepsilon_{max}\cdot y_i}{y_1} \]
列弯矩方程
\[ M = \sum_i T_iy_i \]
代入计算，过程省略，最后结果是
\[ M = \frac{EA\varepsilon_{max}}{y_1}\cdot\sum_i y_i^2 \]
得到最大应变为
\[ \varepsilon_{max} = \frac{My_1}{EA(\sum y_i^2)} \]
所以最大的那个锚栓拉力为
\[ T_1 = EA\varepsilon_1 = \frac{My_1}{\sum y_i^2} \]
这个结果是在纯弯矩作用下的。如果再加上拉力，就是
\[ N^h_{sd} = \frac{N}{n} + \frac{My_1}{\sum y_i^2} \]
这是公式(5.2.2-2)的结果。\midpar

因为在纯弯矩作用下，锚栓一部分受拉，一部分受压。锚栓对称分布的情况下，
最大拉力和最大压力是相等的。而公式(5.2.2-1)这个条件实际上表示所有锚栓
都是受拉的。如果不满足这个条件，就要按公式(5.2.2-3)来计算。\midpar

下面使用\textbf{代数方法}计算上面的结果。用~$T_i$~表示每个锚栓在外力作
用下的拉力。符号~$y_i$~在形心右侧为正，左侧为负。斜率是
\[ k = \frac{T_1 - T_n}{y_1 - y_n} \]
每个锚栓的拉力为
\[ T_i = \frac{(T_1 - T_n)(y_i - y_n)}{y_1 - y_n} + T_n \]
下面以形心为原点列力和弯矩的平衡方程。就是下面的两个方程
\[ N = \sum T_i,\quad M = \sum T_iy_i \]
对所有的锚栓取和。为了表示方便些，引入两个参数
\[ a = \sum y_i,\quad b = \sum y_i^2 \]
方程组里面要用到这两个参数。这样结果是
\[ k(a - ny_n) + nT_n = N \]
\[ k(b - ay_n) + aT_n = M \]
解这个方程组就可以了。不过这个方程组还可以进一步简化。如果所有的锚栓对
于形心都是对称分布，那么有一个参数可以消掉。就是
\[ a = \sum y_i = 0 \]
这是非常符合实际情况的。所以下面按此计算。方程组变成
\[ -kny_n + nT_n = N \]
\[ kb = M \]
解出来
\[ k = M/b \]
\[ T_1 = \frac{N}{n} + \frac{My_1}{b} \]
这和前面的结果是一样的。\midpar

\textbf{锚栓部分受拉时的公式}。规范上说，如果锚栓部分受拉，部分受压，
按下面的公式计算
\[ N^h_{sd} = \frac{(NL + M)y'_1}{\sum (y'_i)^2} \]
这个公式是不是根据受力分析得到的，我很难确定。它的计算模型肯定跟上面的
不一样。如果模型一样的话，不需要重复计算了。所以肯定不一样。总之这个公
式看着相当怪。因为~$(NL + M)$~是弯矩，它是对最左边的锚栓取弯矩。虽然不
知道对不对，但可以强行凑出这个结果来。依然认为所有锚栓受拉，并且拉力位
于一个平面内。斜率是
\[ k = \frac{T_1}{y'_1} \]
每个锚栓的拉力为
\[ T_i = \frac{T_1y'_i}{y'_1} \]
只列弯矩方程
\[ NL + M = \sum T_iy'_i \]
结果就是
\[ T_1 = \frac{(NL + M)y'_1}{\sum (y'_i)^2} \]
如果这样的话，弯矩是平衡了，但是力未必平衡。下面的等式
\[ N = \sum T_i \]
不一定成立。它应该不会成立的。在这个模型中，是假设有压力存在的。但是上
面的方程并没有计入压力。所以上面的方程显然不成立。不管怎么样，依然可以
按规范上的公式计算。\midpar

\subsection{第5.2.4条的某些计算}
如下图所示
\begin{center}
\includegraphics[width=0.75\textwidth]{pic/JGJ145_3.jpg}
\end{center}
主要是第二种情况下的计算。如上图所示。受拉的锚栓一共有~$k$~个。每个锚
栓之间的间距是一样的。以最左边的锚栓为原点，列力和弯矩的平衡方程
\[ N = N_{s1} + N_{s2} + \cdots + N_{sk} \]
\[ Nx = d\cdot N_{s1}\cdot (k - 1) + \cdots + d\cdot N_{sk}\cdot (k - k) \]
计算结果是
\[ x = \frac{d}{N}\cdot[N_{s1}(k-1) + \cdots + N_{sk}(k-k)] \]
\[ e_N = x - \frac{d(k - 1)}{2} \]
其中的~$x$~还可以简化一下。把规范上一条的公式代进去可以得到
\[ x = \frac{d\cdot N^h_{sd}}{N\cdot y'_1}\cdot[y'_1(k-1) + \cdots + y'_k(k-k)] \]
这样会更方便计算一点。
\midpar

规范上这一条示例是两个锚栓受拉。上面的公式中取~$k = 2$~得到规范上的结果
\[ e_N = \frac{N_{s1} - N_{s2}}{N}\cdot\frac{d}{2} \]


\section{群锚受剪内力计算}
\subsection{锚栓剪力（5.3.3条）}
这一组有四个公式。这组公式第一眼看上去很高深，第二眼看感觉像脱了裤子放
屁，第三眼看感觉还是很有道理的。这样表示使得它可以适应各种情况。总之这
组公式是很有道理的。主要在于~$x,y$~方向上参与受剪的锚栓数目是否相同。
如果相同，就是最简单的结果。如果有
\[ n_x = n_y = n \]
那么
\[ V^V_{si,x} = \frac{V_x}{n},\quad V^V_{si,y} = \frac{V_y}{n} \]
\[ V^V_{si} = \frac{\sqrt{V_x^2 + V_y^2}}{n} \]
\[ V^h_{sd} = max(V^V_{si}) = \frac{\sqrt{V_x^2 + V_y^2}}{n} \]
实际上就是个平均值。如果参与数目不一样，结果会有不同。
\midpar

\subsection{群锚在扭矩作用下（5.3.5条）}
搞不清楚~$x_i,y_i$~是怎么确定的。搞不清楚这个并不妨碍计算最后结果。每
个锚栓到原点的距离是
\[ r_i = \sqrt{x_i^2 + y_i^2} \]
这样就有
\[ \sum x_i^2 + \sum y_i^2 = \sum (x_i^2 + y_i^2) = \sum r_i^2 \]
结果是
\[ V^T_{si} = \frac{Tr_i}{\sum r_i^2} \]
这样不用区分~$x_i,y_i$~到底是到哪个轴的距离了。反正结果都一样。\midpar

另外的一些计算如下。把下面的等式
\[ V^T_{si} = \frac{Tr_i}{\sum r_i^2} \]
两边都乘以~$r_i$~得到
\[ V^T_{si}\cdot r_i = \frac{Tr_i^2}{\sum r_i^2} \]
把所有这样的等式都加起来
\[ \sum V^T_{si}\cdot r_i = \frac{T(\sum r_i^2)}{\sum r_i^2} = T \]
也就是
\[ T = \sum V^T_{si}\cdot r_i \]
这样看起来好像更像是一个扭矩的平衡方程。\midpar

至于扭矩的分配，是按距离形心的远近分配的。每个锚栓分配的剪力与它到形心
的距离成正比。也就是
\[ V_i = kr_i \]
列扭矩方程就是
\[ T = \sum V_ir_i = \sum kr_i^2 \]
这个比例系数是
\[ k = \frac{T}{\sum r_i^2} \]
所以每个锚栓得到的剪力是
\[ V_i = kr_i = \frac{Tr_i}{\sum r_i^2} \]
这和规范上的公式是一样的。以上计算有助于理解。\midpar

\textbf{为什么是形心}。本条的公式中使用了形心。为什么是形心而不是其它
的点，这是一个问题。如果形心表示为~$(x_c,y_c)$，它按下面的方式计算
\[ nx_c = \sum x_i,\quad ny_c = \sum y_i \]
形心是
\[ x_c = \frac{\sum x_n}{n},\quad y_c = \frac{\sum y_n}{n} \]
为什么使用形心而不使用其它的点呢？经过分析，它与力的平衡有关系。在上述
扭矩分配方案下，扭矩始终都是平衡的，但力不一定平衡。所以就存在一个点，
使得所有锚栓的剪力的合力是最小值。这个点就是形心。下面计算一下。每个锚
栓的剪力大小是
\[ V_i = kr_i \]
它的方向是向量~$\vec{r}_i$~的方向顺时针或者逆时针旋转90度。要计算合力，
需要计算出每个剪力的方向。要直接使用剪力的方向会有些麻烦，至少需要先计
算出它们。但是这些剪力都根据~$\vec{r}_i$~旋转了同样的角度。所以把这些
剪力整体旋转90度，它们的合力并没有变，却可以直接使用~$\vec{r}_i$~来当
做剪力的方向。现在
\[ \vec{r}_i = x_i\vec{i} + y_i\vec{j} \]
\[ \vec{V}_i = k(x_i\vec{i} + y_i\vec{j}) \]
所有剪力的合力是
\[ \sum\vec{V}_i = k((\sum x_i)\vec{i} + (\sum y_i)\vec{j}) \]
根据形心的表达式，结果是
\[ \sum\vec{V}_i = nk(x_c\vec{i} + y_c\vec{j}) \]
这是最后的合力。可以看到，如果原点选择在形心，那么这个合力是零。选择在
其它任何点，最后的合力都不是零。关于规范的这一条，能说的都说了，没有别
的了。\midpar

补充。如下图所示。在顺时针扭矩的作用下的剪力。
\begin{center}
\includegraphics[width=0.75\textwidth]{pic/JGJ145_4.jpg}
\end{center}
按矢量的表示，锚栓的矢径表示为
\[ \vec{r} = x\vec{i} + y\vec{j} = r\hat{r} \]
剪力可以表示为
\[ \vec{V} = kr\vec{e} \]
\[ \vec{e} = \frac{y\vec{i} - x\vec{j}}{r} \]
\[ \vec{V} = k(y\vec{i} - x\vec{j}) \]
带方向的表示。


\section{锚栓的破坏性检验}
某次做一个项目，在烟囱上加钢爬梯，使用锚栓连接。设计图纸上按照本规范附
录C的要求做了非原位破坏性检验。按照要求，甲方、设计、监理、施工及检测
人员都去现场见证。我在现场拍了几张照片，如下
\begin{center}
  \includegraphics[width=0.45\textwidth]{pic/JGJ145_1.jpg}\quad
  \includegraphics[width=0.45\textwidth]{pic/JGJ145_2.jpg}
\end{center}
左图是不锈钢锚栓。看到这个锚栓之后，我觉得有所收获。因为见到了实物。关
于这次实验，下面是想说的。\midpar

\btitle{关于有效锚固深度}
有效锚固深度可以在设计中按照需要自行指定，比如它可以是下列值之一
\begin{verbatim}
  80mm  100mm  120mm  140mm  160mm
\end{verbatim}
等等。厂家会生产各种有效锚固深度的锚栓以供选用。\midpar

\ctitle{施工方法}
根据介绍，是在混凝土上钻眼，孔径稍微比锚栓直径大一些。然后把锚栓塞进去，
然后把螺帽拧紧，锚栓底部就会膨胀开，从而把混凝土顶紧。这与我之前认为的
把锚栓打进混凝土中不同。实际上施工就是先钻孔，后拧螺帽。\midpar

\ctitle{抗拔试验}
右图是厂家的检测结果。我们现场也做了抗拔实验，但我觉得现场实验做的并不
成功。因为检测单位的实验设备是一个套筒，内径比锚栓大不了多少。施工方先
把一根钢筋焊在锚栓头上，然后把这个套筒套上，开始做抗拔试验。结果把焊接
的钢筋拔掉了，钢筋的断点就在焊接点。钢筋拉掉的时候，实测拉力是~$30kN$，
这是钢筋的焊接点能承受的拉力，也不是锚栓本身的抗拉强度。\midpar

我认为这个实验并不成功，没有达到实验的目的。因为我使用的是不锈钢锚栓，
它本身的抗拉强度是很强的。这次做“抗拔测试”的目的是测试它和混凝土之间
有多大的咬合力，并不是测试锚栓本身的强度。但是实验室的人员似乎没有认识
到这一点。他们的套筒内径比螺栓大一些，压在锚栓周围的混凝土上。这样这个
套筒就对锚栓附近的混凝土形成了约束。在这种情况下测试出的“咬合力”是没
用的。何况也没有把混凝土拉坏，可以说没有测出来结果。本地的实验室也只有
这个设备了。甲方急着施工，对这些也不太懂。如果要较真的话，各方都会十分
难受。做实验最重要的是实验设备。没有理想的设备，实验做不了，各方都拖不
起。这个实验就这样过去了。还好有厂家的检测报告。\midpar

\ctitle{计算值与实验值的差距}
这里说的是规范上的~$N^0_{Rk,c}$~这个数值。按照本规范计算的结果与厂家给
出的检验报告差距有点大。计算值大约是厂家检测值的一半，还要少一点。这看
起来可能偏于安全。但是数值差这么多。总体来说，我觉得规范的计算结果还是
可以用的，而且相当的安全，因为规范的分项系数取得比较厉害。下面举一个例
子。如果有
\[ h_{ef} = 80(mm) \]
\[ f_{cu,k} = 30(N/mm^2) \]
那么
\[ s_{cr,N} = 3h_{ef} = 240(mm) \]
\[ A^0_{c,N} = 57600(mm^2) \]
单根锚栓受拉时，混凝土理想椎体破坏受拉承载力标准值按照计算是
\[ N^0_{Rk,c} = 7.0\sqrt{f_{cu,k}}\cdot h_{ef}^{1.5} = 27434(N) \]
其实最后承载力设计值变得很小，是因为分项系数。如下式
\[ N_{Rd,c} = N_{Rk,c}/\gamma_{Rc,N} \]
这里面的系数很厉害。如果按照结构构件来计算
\[ \gamma_{Rc,N} = 3.0 \]
也就是说此项设计值是标准值的三分之一。设计值取得很小。这是为了安全的原
因。这也是工程师非常愿意做的。最终结果是，还是要按规范计算，可以保证设
计安全。

